package com.oplink.webems.common.snmp.entity;

import java.util.HashMap;
import java.util.Map;

public class SccCard extends Card {

	public static int CARDTYPE = 5;
	public static final String NAME = "SCC";

	public static final String CardType                ="CardType";             
	public static final String HardwareRev             ="HardwareRev";          
	public static final String FirmwareRev             ="FirmwareRev";          
	public static final String SerialNum               ="SerialNum";            
	public static final String PCode                   ="PCode";                
	public static final String MfgDate                 ="MfgDate";              
	public static final String CalDate                 ="CalDate";              
	public static final String VendorID                ="VendorID";             
	public static final String MfgInfo                 ="MfgInfo";              
	public static final String FirmwareUpgradeStatus   ="FirmwareUpgradeStatus";
	public static final String FirmwareUpgradeAction   ="FirmwareUpgradeAction";
	public static final String SaveConfig              ="SaveConfig";           
	public static final String StartupConfig           ="StartupConfig";        
	public static final String Reset                   ="Reset";                
	public static final String GetModeConfig           ="GetModeConfig";        
	public static final String DelModeConfig           ="DelModeConfig";        
	public static final String AddModeConfig           ="AddModeConfig";        
	public static final String GetCurrentAlarm         ="GetCurrentAlarm";      
	public static final String GetHistoryAlarm         ="GetHistoryAlarm";      
	public static final String Uptime                  ="Uptime";               
	public static final String SysDate                 ="SysDate";              
	public static final String SysTime                 ="SysTime";              
	public static final String RestoreDefault          ="RestoreDefault";       
	public static final String MacAddr                 ="MacAddr";              
	public static final String IPAddr                  ="IPAddr";               
	public static final String DefaultGW               ="DefaultGW";            
	public static final String SubnetMask              ="SubnetMask";           
	public static final String BoardTempThresholdLow   ="BoardTempThresholdLow";
	public static final String BoardTempThresholdHigh  ="BoardTempThresholdHigh";  
	public static final String BoardTemp               ="BoardTemp";  
	
	public final static Map<String, String> nameAndOid = new HashMap<String, String>(){
		private static final long serialVersionUID = 8027650933103265167L;
		{
			put(CardType,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.1");
			put(HardwareRev,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.2");
			put(FirmwareRev,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.4");
			put(SerialNum,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.6");
			put(PCode,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.16");
			put(MfgDate,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.32");
			put(CalDate,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.34");
			put(VendorID,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.36");
			put(MfgInfo,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.40");
			put(FirmwareUpgradeStatus,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.132");
			put(FirmwareUpgradeAction,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.133");
			put(SaveConfig,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.134");
			put(StartupConfig,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.135");
			put(Reset,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.137");
			put(GetModeConfig,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.138");
			put(DelModeConfig,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.139");
			put(AddModeConfig,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.140");
			put(GetCurrentAlarm,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.141");
			put(GetHistoryAlarm,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.142");
			put(Uptime,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.143");
			put(SysDate,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.144");
			put(SysTime,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.145");
			put(RestoreDefault,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.150");
			put(MacAddr,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.151");
			put(IPAddr,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.153");
			put(DefaultGW,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.154");
			put(SubnetMask,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.155");
			put(BoardTempThresholdLow,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.238");
			put(BoardTempThresholdHigh,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.239");
			put(BoardTemp,"1.3.6.1.4.1.2011.2.25.100.5.1.1.1.240");
		}
	};
	
	public SccCard(){
		this(1,5);
	}
	public SccCard(Integer chassis, Integer slot) {
		super(chassis, slot, CARDTYPE);
	}

	@Override
	public String getSuffix() {
		return "."+this.getChassis() + "." + this.getSlot()+".1";
	}
	@Override
	public String getOidByName(String name) {
		return nameAndOid.get(name);
	}

}
